.ming.Switch {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  border-radius: 100px;
  position: relative;
  display: inline-block;
  width: 48px;
  height: 24px;
  cursor: pointer;
  outline: 0;
  text-align: left;
  &.hasText {
    width: 62px;
    min-width: 62px;
  }
  .dot {
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    top: 2px;
    content: '';
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.12), 0px 1px 2px rgba(0, 0, 0, 0.16);
  }
  .txt {
    width: 28px;
    text-align: center;
    color: #fff;
    display: inline-block;
    line-height: 24px;
    padding-left: 8px;
    box-sizing: initial;
  }
  &--on {
    background: #01ca83;
    .dot {
      left: 26px;
    }
    &.hasText {
      .dot {
        left: 40px;
      }
    }
    &.small {
      .dot {
        left: 18px;
      }
    }
  }
  &--off {
    background: #ccc;
    .dot {
      left: 2px;
    }
    .txt {
      margin-left: 18px;
    }
  }
  &--disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  &.small {
    width: 34px;
    height: 18px;
    .dot {
      width: 14px;
      height: 14px;
    }
  }
}
